package info.motteke.mixivoice4j;

import java.util.Collection;
import java.util.LinkedHashSet;
import java.util.Set;

/**
 * イイネ！を表すクラスです。
 *
 * @author Y.Wakamatsu
 */
/* package */ class Favorite {
    private final LinkedHashSet<User> favorites = new LinkedHashSet<User>();

    public Favorite() {
        /* empty */
    }

    public Favorite(Favorite favorites) {
        this.favorites.addAll(favorites.favorites);
    }

    /**
     * イイネ！をつけたユーザを増やします。
     *
     * @param user イイネ！をつけたユーザ
     *
     * @return ユーザが増えたらtrue、さもなくばfalse
     */
    public boolean add(User user) {
        return favorites.add(user);
    }

    /**
     * イイネ！をつけたユーザを増やします。
     *
     * @param users イイネ！をつけたユーザ
     *
     * @return ユーザが増えたらtrue、さもなくばfalse
     */
    public boolean addAll(Collection<User> users) {
        return favorites.addAll(users);
    }

    public Set<User> asSet() {
        return new LinkedHashSet<User>(favorites);
    }
}
